<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <input v-model="msg" type="text">

        <!-- 引用类型监听 -->
        <div>
            <input v-model="obj.name" type="text">
            <input v-model="obj.age" type="text">
        </div>
    </div>

    <script src="./vue.min.js"></script>
    <script>
         new Vue({
            el: "#app",
            data: {
                msg: "",
                obj: {
                    name: "张三",
                    age: 20
                }
            },
            // 监听data上的数据(特殊情况除外)
            // 使用场景: 1. 数据修改需要调用后端接口  2. 高频操作
            watch: {
                // 默认参数
                // newValue  当前最新内容
                // oldValue  上一次的内容
                msg(newValue, oldValue) {
                    console.log(newValue, oldValue)
                },
                // 如果监听的数据是引用类型，需要开启深度监听
                obj: {
                    // 深度监听
                    deep: true,
                    handler(newValue) {
                        console.log(newValue)
                    }
                }
            }
        })
    </script>
</body>
</html>